/*
 * 
 *	Copyright (C) 2011 -- Alfred Reibenschuh
 *
 * 	This program is free software; you can redistribute it and/or 
 *	modify it under the terms of the GNU General Public License as 
 *	published by the Free Software Foundation; either version 2 of 
 *	the License, or (at your option) any later version.
 *
 *	This program is distributed in the hope that it will be useful, 
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
 *	GNU General Public License for more details.
 * 
 */

package redoak.php.snmp;

import java.io.IOException;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.concurrent.TimeoutException;

public interface ISnmpModuleSession 
{
	//public static ISnmpModuleSession createV1(String host, int port, String user) throws UnknownHostException, SocketException
	//public static ISnmpModuleSession createV2(String host, int port, String user) throws UnknownHostException, SocketException
	//public static ISnmpModuleSession createV3(String host, int port, String user, String context, String auth, String authkey, String priv, String privkey) throws UnknownHostException, SocketException

	public void setRetries(int v);
	public void setTimeout(int v);
	public void close();
	
	public Object[] snmp_get(String oid) throws TimeoutException, InterruptedException, IOException;
	public Object[][] snmp_get(String[] oid) throws TimeoutException, InterruptedException, IOException;
	
	public Object[] snmp_next(String oid) throws TimeoutException, InterruptedException, IOException;
	public Object[][] snmp_next(String[] oid) throws TimeoutException, InterruptedException, IOException;
	
	public Boolean snmp_set(String oid, String type, String string) throws TimeoutException, InterruptedException, IOException;
	
	public Object[][] snmp_walk(String oid, boolean b) throws TimeoutException, InterruptedException, IOException;
	
}
